#!/usr/bin/env bash
database=$1
user=$2
password=$3
time=$(date "+%Y%m%d-%H%M")

path=$4

if [ -z "$database" ]; then
  echo "docker exec mysql /usr/bin/mysql-dump.sh 数据库 用户名 密码 备份目录"
  exit 1
fi


if [ -z "$path" ]; then
    path="/data/mysql/$database/$time"
fi

echo "target path: $path"
mkdir -p $path

mysqldump --host=127.0.0.1 \
--user=$user \
--password=$password \
--routines=true \
--port=3306 \
--tab=$path \
"--fields-terminated-by=, " \
"--fields-optionally-enclosed-by=\"" \
--comments=true \
--protocol=tcp \
--order-by-primary=true \
--complete-insert=true \
--compress=true \
--create-options=true \
--default-character-set=utf8 \
--extended-insert=true \
--flush-logs=true \
--quote-names=true \
--set-charset=true \
$database


# 使用方式： docker exec mysql /usr/bin/mysql-dump.sh 数据库 用户名 密码
# 3个参数：数据库，用户名，密码

# 还原数据库结构： mysql –u 用户名 –p 数据库名 < 表名.sql
# 还原数据库数据： mysqlimport –u 用户名 –p 数据库名 表名.txt